<!DOCTYPE html>
<html>
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
	<meta name="generator" content="ApiGen 2.8.0">
	<meta name="robots" content="noindex">

	<title>File bround.php</title>

	<script type="text/javascript" src="resources/combined.js?3770084987"></script>
	<script type="text/javascript" src="elementlist.js?553530925"></script>
	<link rel="stylesheet" type="text/css" media="all" href="resources/style.css?3505392360">

</head>

<body>
<div id="left">
	<div id="menu">
		<a href="index.html" title="Overview"><span>Overview</span></a>


		<div id="groups">
		</div>



		<div id="elements">
			<h3>Classes</h3>
			<ul>
				<li><a href="class-agente.html">agente</a></li>
				<li><a href="class-albaran_cliente.html">albaran_cliente</a></li>
				<li><a href="class-albaran_proveedor.html">albaran_proveedor</a></li>
				<li><a href="class-almacen.html">almacen</a></li>
				<li><a href="class-articulo.html">articulo</a></li>
				<li><a href="class-asiento.html">asiento</a></li>
				<li><a href="class-asiento_factura.html">asiento_factura</a></li>
				<li><a href="class-balance.html">balance</a></li>
				<li><a href="class-balance_cuenta.html">balance_cuenta</a></li>
				<li><a href="class-balance_cuenta_a.html">balance_cuenta_a</a></li>
				<li><a href="class-banco.html">banco</a></li>
				<li><a href="class-caja.html">caja</a></li>
				<li><a href="class-cliente.html">cliente</a></li>
				<li><a href="class-concepto_partida.html">concepto_partida</a></li>
				<li><a href="class-cuenta.html">cuenta</a></li>
				<li><a href="class-cuenta_banco.html">cuenta_banco</a></li>
				<li><a href="class-cuenta_banco_cliente.html">cuenta_banco_cliente</a></li>
				<li><a href="class-cuenta_banco_proveedor.html">cuenta_banco_proveedor</a></li>
				<li><a href="class-cuenta_especial.html">cuenta_especial</a></li>
				<li><a href="class-direccion_cliente.html">direccion_cliente</a></li>
				<li><a href="class-direccion_proveedor.html">direccion_proveedor</a></li>
				<li><a href="class-divisa.html">divisa</a></li>
				<li><a href="class-ejercicio.html">ejercicio</a></li>
				<li><a href="class-empresa.html">empresa</a></li>
				<li><a href="class-epigrafe.html">epigrafe</a></li>
				<li><a href="class-factura_cliente.html">factura_cliente</a></li>
				<li><a href="class-factura_proveedor.html">factura_proveedor</a></li>
				<li><a href="class-familia.html">familia</a></li>
				<li><a href="class-forma_pago.html">forma_pago</a></li>
				<li><a href="class-fs_access.html">fs_access</a></li>
				<li><a href="class-fs_button.html">fs_button</a></li>
				<li><a href="class-fs_button_img.html">fs_button_img</a></li>
				<li><a href="class-fs_cache.html">fs_cache</a></li>
				<li><a href="class-fs_controller.html">fs_controller</a></li>
				<li><a href="class-fs_db.html">fs_db</a></li>
				<li><a href="class-fs_default_items.html">fs_default_items</a></li>
				<li><a href="class-fs_extension.html">fs_extension</a></li>
				<li><a href="class-fs_log.html">fs_log</a></li>
				<li><a href="class-fs_model.html">fs_model</a></li>
				<li><a href="class-fs_mysql.html">fs_mysql</a></li>
				<li><a href="class-fs_page.html">fs_page</a></li>
				<li><a href="class-fs_pdf.html">fs_pdf</a></li>
				<li><a href="class-fs_postgresql.html">fs_postgresql</a></li>
				<li><a href="class-fs_printer.html">fs_printer</a></li>
				<li><a href="class-fs_user.html">fs_user</a></li>
				<li><a href="class-fs_var.html">fs_var</a></li>
				<li><a href="class-grupo_clientes.html">grupo_clientes</a></li>
				<li><a href="class-grupo_epigrafes.html">grupo_epigrafes</a></li>
				<li><a href="class-impuesto.html">impuesto</a></li>
				<li><a href="class-linea_albaran_cliente.html">linea_albaran_cliente</a></li>
				<li><a href="class-linea_albaran_proveedor.html">linea_albaran_proveedor</a></li>
				<li><a href="class-linea_factura_cliente.html">linea_factura_cliente</a></li>
				<li><a href="class-linea_factura_proveedor.html">linea_factura_proveedor</a></li>
				<li><a href="class-linea_iva_factura_cliente.html">linea_iva_factura_cliente</a></li>
				<li><a href="class-linea_iva_factura_proveedor.html">linea_iva_factura_proveedor</a></li>
				<li><a href="class-pais.html">pais</a></li>
				<li><a href="class-partida.html">partida</a></li>
				<li><a href="class-proveedor.html">proveedor</a></li>
				<li><a href="class-regularizacion_iva.html">regularizacion_iva</a></li>
				<li><a href="class-secuencia.html">secuencia</a></li>
				<li><a href="class-secuencia_contabilidad.html">secuencia_contabilidad</a></li>
				<li><a href="class-secuencia_ejercicio.html">secuencia_ejercicio</a></li>
				<li><a href="class-serie.html">serie</a></li>
				<li><a href="class-stock.html">stock</a></li>
				<li><a href="class-subcuenta.html">subcuenta</a></li>
				<li><a href="class-subcuenta_cliente.html">subcuenta_cliente</a></li>
				<li><a href="class-subcuenta_proveedor.html">subcuenta_proveedor</a></li>
				<li><a href="class-sucursal.html">sucursal</a></li>
				<li><a href="class-tarifa.html">tarifa</a></li>
				<li><a href="class-tarifa_articulo.html">tarifa_articulo</a></li>
			</ul>





			<h3>Functions</h3>
			<ul>
				<li class="active"><a href="function-bround.html">bround</a></li>
				<li><a href="function-require_model.html">require_model</a></li>
			</ul>
		</div>
	</div>
</div>

<div id="splitter"></div>

<div id="right">
<div id="rightInner">
	<form id="search">
		<input type="hidden" name="cx" value="">
		<input type="hidden" name="ie" value="UTF-8">
		<input type="text" name="q" class="text">
		<input type="submit" value="Search">
	</form>

	<div id="navigation">
		<ul>
			<li>
				<a href="index.html" title="Overview"><span>Overview</span></a>
			</li>
			<li>
				<a href="function-bround.html" title="Summary of bround"><span>Function</span></a>
			</li>
		</ul>
		<ul>
			<li>
				<a href="tree.html" title="Tree view of classes, interfaces, traits and exceptions"><span>Tree</span></a>
			</li>
		</ul>
		<ul>
		</ul>
	</div>

<pre><code><span id="1" class="l"><a class="l" href="#1"> 1: </a><span class="xlang">&lt;?php</span>
</span><span id="2" class="l"><a class="l" href="#2"> 2: </a><span class="php-comment">/*
</span></span><span id="3" class="l"><a class="l" href="#3"> 3: </a><span class="php-comment">    Banker's Rounding v1.01, 2006-08-15
</span></span><span id="4" class="l"><a class="l" href="#4"> 4: </a><span class="php-comment">    Copyright 2006 Michael Boone
</span></span><span id="5" class="l"><a class="l" href="#5"> 5: </a><span class="php-comment">    mike@Xboonedocks.net (remove the X)
</span></span><span id="6" class="l"><a class="l" href="#6"> 6: </a><span class="php-comment">    http://boonedocks.net/
</span></span><span id="7" class="l"><a class="l" href="#7"> 7: </a><span class="php-comment">
</span></span><span id="8" class="l"><a class="l" href="#8"> 8: </a><span class="php-comment">    Provided under the a BSD-style License
</span></span><span id="9" class="l"><a class="l" href="#9"> 9: </a><span class="php-comment">    A GPL licensed version is available at:
</span></span><span id="10" class="l"><a class="l" href="#10">10: </a><span class="php-comment">    http://boonedocks.net/code/bround.inc.phps
</span></span><span id="11" class="l"><a class="l" href="#11">11: </a><span class="php-comment">    Contact me for use outside the bounds of these licenses
</span></span><span id="12" class="l"><a class="l" href="#12">12: </a><span class="php-comment">    
</span></span><span id="13" class="l"><a class="l" href="#13">13: </a><span class="php-comment">    ---------------------------------------------------------------
</span></span><span id="14" class="l"><a class="l" href="#14">14: </a><span class="php-comment">    Copyright (c) 2006 Michael Boone
</span></span><span id="15" class="l"><a class="l" href="#15">15: </a><span class="php-comment">
</span></span><span id="16" class="l"><a class="l" href="#16">16: </a><span class="php-comment">    All rights reserved.
</span></span><span id="17" class="l"><a class="l" href="#17">17: </a><span class="php-comment">
</span></span><span id="18" class="l"><a class="l" href="#18">18: </a><span class="php-comment">    Redistribution and use in source and binary forms, with or
</span></span><span id="19" class="l"><a class="l" href="#19">19: </a><span class="php-comment">    without modification, are permitted provided that the following
</span></span><span id="20" class="l"><a class="l" href="#20">20: </a><span class="php-comment">    conditions are met:
</span></span><span id="21" class="l"><a class="l" href="#21">21: </a><span class="php-comment">        * Redistributions of source code must retain the above
</span></span><span id="22" class="l"><a class="l" href="#22">22: </a><span class="php-comment">          copyright notice, this list of conditions and the
</span></span><span id="23" class="l"><a class="l" href="#23">23: </a><span class="php-comment">          following disclaimer.
</span></span><span id="24" class="l"><a class="l" href="#24">24: </a><span class="php-comment">        * Redistributions in binary form must reproduce the above
</span></span><span id="25" class="l"><a class="l" href="#25">25: </a><span class="php-comment">          copyright notice, this list of conditions and the
</span></span><span id="26" class="l"><a class="l" href="#26">26: </a><span class="php-comment">          following disclaimer in the documentation and/or other
</span></span><span id="27" class="l"><a class="l" href="#27">27: </a><span class="php-comment">          materials provided with the distribution.
</span></span><span id="28" class="l"><a class="l" href="#28">28: </a><span class="php-comment">        * Neither the name of boonedocks.net nor the name of
</span></span><span id="29" class="l"><a class="l" href="#29">29: </a><span class="php-comment">          Michael Boone may be used to endorse or promote products
</span></span><span id="30" class="l"><a class="l" href="#30">30: </a><span class="php-comment">          derived from this software without specific prior
</span></span><span id="31" class="l"><a class="l" href="#31">31: </a><span class="php-comment">          written permission.
</span></span><span id="32" class="l"><a class="l" href="#32">32: </a><span class="php-comment">
</span></span><span id="33" class="l"><a class="l" href="#33">33: </a><span class="php-comment">    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
</span></span><span id="34" class="l"><a class="l" href="#34">34: </a><span class="php-comment">    &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
</span></span><span id="35" class="l"><a class="l" href="#35">35: </a><span class="php-comment">    LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
</span></span><span id="36" class="l"><a class="l" href="#36">36: </a><span class="php-comment">    A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
</span></span><span id="37" class="l"><a class="l" href="#37">37: </a><span class="php-comment">    CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
</span></span><span id="38" class="l"><a class="l" href="#38">38: </a><span class="php-comment">    EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
</span></span><span id="39" class="l"><a class="l" href="#39">39: </a><span class="php-comment">    PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
</span></span><span id="40" class="l"><a class="l" href="#40">40: </a><span class="php-comment">    PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
</span></span><span id="41" class="l"><a class="l" href="#41">41: </a><span class="php-comment">    LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
</span></span><span id="42" class="l"><a class="l" href="#42">42: </a><span class="php-comment">    NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
</span></span><span id="43" class="l"><a class="l" href="#43">43: </a><span class="php-comment">    SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
</span></span><span id="44" class="l"><a class="l" href="#44">44: </a><span class="php-comment">    ---------------------------------------------------------------
</span></span><span id="45" class="l"><a class="l" href="#45">45: </a><span class="php-comment">    
</span></span><span id="46" class="l"><a class="l" href="#46">46: </a><span class="php-comment">    Release History:
</span></span><span id="47" class="l"><a class="l" href="#47">47: </a><span class="php-comment">    2006-01-05: v1.00: Initial Release
</span></span><span id="48" class="l"><a class="l" href="#48">48: </a><span class="php-comment">    2006-08-15: v1.01: Updated with faster even/odd test
</span></span><span id="49" class="l"><a class="l" href="#49">49: </a><span class="php-comment">    
</span></span><span id="50" class="l"><a class="l" href="#50">50: </a><span class="php-comment">*/</span>
</span><span id="51" class="l"><a class="l" href="#51">51: </a>
</span><span id="52" class="l"><a class="l" href="#52">52: </a><span class="php-comment">/**
</span></span><span id="53" class="l"><a class="l" href="#53">53: </a><span class="php-comment"> * Redondeo bancario
</span></span><span id="54" class="l"><a class="l" href="#54">54: </a><span class="php-comment"> * @staticvar real $dFuzz
</span></span><span id="55" class="l"><a class="l" href="#55">55: </a><span class="php-comment"> * @param type $dVal
</span></span><span id="56" class="l"><a class="l" href="#56">56: </a><span class="php-comment"> * @param type $iDec
</span></span><span id="57" class="l"><a class="l" href="#57">57: </a><span class="php-comment"> * @return type
</span></span><span id="58" class="l"><a class="l" href="#58">58: </a><span class="php-comment"> */</span>
</span><span id="59" class="l"><a class="l" href="#59">59: </a><span class="php-keyword1">function</span> <a id="_bround" href="#_bround">bround</a>(<span class="php-var">$dVal</span>, <span class="php-var">$iDec</span>=<span class="php-num">2</span>)
</span><span id="60" class="l"><a class="l" href="#60">60: </a>{
</span><span id="61" class="l"><a class="l" href="#61">61: </a>   <span class="php-comment">// banker's style rounding or round-half-even</span>
</span><span id="62" class="l"><a class="l" href="#62">62: </a>   <span class="php-comment">// (round down when even number is left of 5, otherwise round up)</span>
</span><span id="63" class="l"><a class="l" href="#63">63: </a>   <span class="php-comment">// $dVal is value to round</span>
</span><span id="64" class="l"><a class="l" href="#64">64: </a>   <span class="php-comment">// $iDec specifies number of decimal places to retain</span>
</span><span id="65" class="l"><a class="l" href="#65">65: </a>   <span class="php-keyword1">static</span> <span class="php-var"><a id="$dFuzz" href="#$dFuzz">$dFuzz</a></span> = <span class="php-num">0.00001</span>; <span class="php-comment">// to deal with floating-point precision loss</span>
</span><span id="66" class="l"><a class="l" href="#66">66: </a>   <span class="php-var">$iRoundup</span> = <span class="php-num">0</span>; <span class="php-comment">// amount to round up by</span>
</span><span id="67" class="l"><a class="l" href="#67">67: </a>   
</span><span id="68" class="l"><a class="l" href="#68">68: </a>   <span class="php-var">$iSign</span> = (<span class="php-var">$dVal</span> != <span class="php-num">0.0</span>) ? <span class="php-keyword2">intval</span>(<span class="php-var">$dVal</span> / <span class="php-keyword2">abs</span>(<span class="php-var">$dVal</span>)) : <span class="php-num">1</span>;
</span><span id="69" class="l"><a class="l" href="#69">69: </a>   <span class="php-var">$dVal</span> = <span class="php-keyword2">abs</span>(<span class="php-var">$dVal</span>);
</span><span id="70" class="l"><a class="l" href="#70">70: </a>   
</span><span id="71" class="l"><a class="l" href="#71">71: </a>   <span class="php-comment">// get decimal digit in question and amount to right of it as a fraction</span>
</span><span id="72" class="l"><a class="l" href="#72">72: </a>   <span class="php-var">$dWorking</span> = <span class="php-var">$dVal</span>*<span class="php-keyword2">pow</span>(<span class="php-num">10.0</span>,<span class="php-var">$iDec</span>+<span class="php-num">1</span>)-<span class="php-keyword2">floor</span>(<span class="php-var">$dVal</span>*<span class="php-keyword2">pow</span>(<span class="php-num">10.0</span>,<span class="php-var">$iDec</span>))*<span class="php-num">10.0</span>;
</span><span id="73" class="l"><a class="l" href="#73">73: </a>   <span class="php-var">$iEvenOddDigit</span> = <span class="php-keyword2">floor</span>(<span class="php-var">$dVal</span>*<span class="php-keyword2">pow</span>(<span class="php-num">10.0</span>,<span class="php-var">$iDec</span>))-<span class="php-keyword2">floor</span>(<span class="php-var">$dVal</span>*<span class="php-keyword2">pow</span>(<span class="php-num">10.0</span>,<span class="php-var">$iDec</span>-<span class="php-num">1</span>))*<span class="php-num">10.0</span>;
</span><span id="74" class="l"><a class="l" href="#74">74: </a>   
</span><span id="75" class="l"><a class="l" href="#75">75: </a>   <span class="php-keyword1">if</span>( <span class="php-keyword2">abs</span>(<span class="php-var">$dWorking</span> - <span class="php-num">5.0</span>) &lt; <span class="php-var">$dFuzz</span> )
</span><span id="76" class="l"><a class="l" href="#76">76: </a>      <span class="php-var">$iRoundup</span> = (<span class="php-var">$iEvenOddDigit</span> &amp; <span class="php-num">1</span>) ? <span class="php-num">1</span> : <span class="php-num">0</span>;
</span><span id="77" class="l"><a class="l" href="#77">77: </a>   <span class="php-keyword1">else</span>
</span><span id="78" class="l"><a class="l" href="#78">78: </a>      <span class="php-var">$iRoundup</span> = (<span class="php-var">$dWorking</span>&gt;<span class="php-num">5.0</span>) ? <span class="php-num">1</span> : <span class="php-num">0</span>;
</span><span id="79" class="l"><a class="l" href="#79">79: </a>   
</span><span id="80" class="l"><a class="l" href="#80">80: </a>   <span class="php-keyword1">return</span> <span class="php-var">$iSign</span>*((<span class="php-keyword2">floor</span>(<span class="php-var">$dVal</span>*<span class="php-keyword2">pow</span>(<span class="php-num">10.0</span>,<span class="php-var">$iDec</span>))+<span class="php-var">$iRoundup</span>)/<span class="php-keyword2">pow</span>(<span class="php-num">10.0</span>,<span class="php-var">$iDec</span>));
</span><span id="81" class="l"><a class="l" href="#81">81: </a>}
</span><span id="82" class="l"><a class="l" href="#82">82: </a>
</span><span id="83" class="l"><a class="l" href="#83">83: </a></span><span class="xlang">?&gt;</span></code></pre>

	<div id="footer">
		 API documentation generated by <a href="http://apigen.org">ApiGen 2.8.0</a>
	</div>
</div>
</div>
</body>
</html>
